文章未來將更新於:
https://kevinyay945.com/golang-project-design/2023/init-project
在專案開始前,我們要先將專案提前需要的一些工具先裝上,而這些內容我先放在Makefile中的init裡
.PHONY: init
init:
go install go.uber.org/mock/mockgen@bb5901fe6e45c7c5035afb29a274b9e970c8e348
go install github.com/google/wire/cmd/wire@0ac845078ca01a1755571c53d7a8e7995b96e40d
go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@7aa85bb88223ee606c2aaeb3e536aa0ed93d4054
go install github.com/spf13/cobra-cli@74762ac083f2c4deffef229c887ffc15beb6ce0d
另外,會在後面加上commit的Hash,主要是因為這些工具都是屬於自動產生程式碼的工具,所以不保證未來會不會向下間容,而導致沒辦法正常使用,所以在這邊把版本定下來,未來才有辦法將需要的工具裝好直接使用
接下來就是執行Makefile的指令
make init
最後想補充一點
這次專案的起始點,我打算使用Cobra這個工具,因為這個套件可以很輕鬆的產生一個新的程式進入點,並且可以在後面加上各式各樣的參數及說明,可以讓開發的流程變的更佳的方便及快速
這個工具本身也被很多專案來使用,大家可以到他的官網中來查看喔
https://cobra.dev/